<!DOCTYPE html>
<!-- 219970720刘莹 -->
<html>
	<head>
		<meta charset="utf-8">
		<title>练习5：DOM操作</title>
		<style type="text/css">
			html,div,ul,li {margin: 0px;padding: 0px;}
			a{cursor: pointer;}
			li {list-style: none;cursor: pointer;}
			fieldset {border: #000 1px dashed;width: 225px;height: 225px;padding: 10px;text-align: center;float: left;margin-left: 5px;}
			#cont_left {width: 300px;height: 500px;float: left;}
			#cont_right {float: left;}
			.newcss1{background-color: yellowgreen;}
		</style>
	</head>
	<body>
		<div id="cont_left">
			<ul><img src="img/fold.gif"><a onclick="show('menu1')"> 通过DOM获取信息 </a>
				<ul id="menu1">
					<li onclick="showImg()"><img src="img/doc.gif">获取原始图片路径</li>
					<li onclick="getFruit()"><img src="img/doc.gif">获取我喜欢的水果</li>
				</ul>
			</ul>
 
			<ul><img src="img/fold.gif"><a onclick="show('menu2')"> 通过DOM操作元素 </a>
				<ul id="menu2">
					<li onclick="createImg()"><img src="img/doc.gif">创建图片</li>
					<li onclick="cloneImg()"><img src="img/doc.gif">克隆图片</li>
					<li onclick="changeImg()"><img src="img/doc.gif">改变图片</li>
					<li onclick="removeImg()"><img src="img/doc.gif">删除图片</li>
				</ul>
			</ul>
 
			<ul><img src="img/fold.gif"><a onclick="show('menu3')"> 通过DOM操作样式 </a>
				<ul id="menu3">
					<li onclick="changeCss1()"><img src="img/doc.gif">为原始图片加上行间样式</li>
					<li onclick="changeCss2()"><img src="img/doc.gif">为所有的fieldset加上内部样式</li>
				</ul>
			</ul>
 
		</div>
		<fieldset>
			<legend>原始图片</legend>
			<img id="fruit" src="img/fruit.jpg">
		</fieldset>
		<fieldset>
			<legend>图片路径</legend>
			<p id="msg1">在这里显示</p>
		</fieldset>
		<fieldset>
			<legend>选择你喜欢的水果</legend>
			<ul style="text-align: left;">
				<li>
					<input name="enjoy" type="checkbox" value="苹果" />苹果
				</li>
				<li>
					<input name="enjoy" type="checkbox" value="香蕉" checked="checked" />香蕉
				</li>
				<li>
					<input name="enjoy" type="checkbox" value="葡萄" />葡萄
				</li>
				<li>
					<input name="enjoy" type="checkbox" value="梨" checked="checked" />梨
				</li>
				<li>
					<input name="enjoy" type="checkbox" value="西瓜" />西瓜
				</li>
			</ul>
			<div id="msg2" style="margin-top: 10px;text-align: left;"></div>
		</fieldset>
		<fieldset>
			<legend>创建图片</legend>
			<div id="msg3"></div>
		</fieldset>
		<fieldset>
			<legend>克隆图片</legend>
			<div id="msg4"></div>
		</fieldset>
		<script>
			//菜单收缩与扩展
			function show(title) {
				let currentMenu = document.getElementById(title);
				let currentStatus = currentMenu.style.display;
				currentMenu.style.display = currentStatus == "" ? "none" : "";
			}
			//获取原始图片路径
			function showImg() {
				var text1 = document.getElementById('fruit');//获取id为fruit的元素
				var msg1 = document.getElementById('msg1');//获取id为msg1的元素
				msg1.innerHTML=text1.getAttribute('src');//把图片的路径赋给需要显示的地方
			}
			//获取喜欢的水果
			function getFruit() {
				var text2 = document.getElementsByName('enjoy'); //获取name为enjoy的元素
				document.getElementById('msg2').innerHTML = "你最喜欢的水果是："; //获取需要输出地方的文本内容
				for(var i=0;i<=text2.length;i++)//追加写入水果
				{
					if(text2[i].checked == true)
					{
						document.getElementById('msg2').innerHTML += text2[i].value+"、" ;//把选的水果赋给需要输出到底地方的文本
					}
				}
			}
			//创建图片
			function createImg() {
				var msg3 = document.getElementById('msg3'); //获取id为msg3的元素
				var img1 = document.createElement('img');
				img1.src = "img/grape.jpg";//把图片给img1
				msg3.appendChild(img1); //差不多就是把img1的图片给msg3
					//appendChild() 方法可向节点的子节点列表的末尾添加新的子节点
			}
			//克隆图片
			function cloneImg() {
				var msg4 = document.getElementById('msg4'); //获取id为msg4的元素
				var text3= document.getElementById('fruit'); //获取id为fruit的元素
				msg4.appendChild(text3.cloneNode());  //图片挂载到id上
										//cloneNode() 方法创建指定节点的精确拷贝。该方法返回克隆的节点。
			}
			//改变图片（只需要更改src)
			function changeImg() {
				var msg5 = document.getElementById('fruit'); //获取id为fruit的元素
				msg5.src = "img/grape.jpg"; 
			}
			//删除图片
			function removeImg() {
				var msg6 = document.getElementById('fruit'); //获取id为fruit的元素
				msg6.parentNode.removeChild(msg6); //删除
								//removeChild():从子节点列表中删除某个节点:
			}
			//操作样式1 为原始图片加上行间样式，比如加个红色边框
			function changeCss1(){
				var text4 = document.getElementById('fruit'); //获取id为fruit的元素
				text4.style.border = 'solid 2px red';
			}
			//操作样式2 为所有的 fieldset 标签加个内部样式，比如加背景色
			function changeCss2(){
				var text5 = document.getElementsByTagName('fieldset');
				for(var i=0;i<text5.length;i++)
				{
					text5[i].style.backgroundColor = "green"
				}
			}
		</script>
	</body>
</html>